package com.itheima.service;

import com.itheima.entity.PageResult;
import com.itheima.entity.QueryPageBean;
import com.itheima.pojo.CheckGroup;

import java.util.List;

public interface CheckGroupService {

    /**
     * 新增检查组以及在中间表添加两者关联
     * @param checkGroup
     * @param checkitemIds
     */
    void add(CheckGroup checkGroup, Integer[] checkitemIds);


    /**
     * 通过页码数和查询条件获取检查组列表
     * @param queryPageBean
     * @return
     */
    PageResult findPage(QueryPageBean queryPageBean);


    /**
     * 根据id删除检查组
     * @param id
     */
    void deleteById(Integer id);

    /**
     * 根据id获取检查组CheckGroup
     * @param id
     * @return
     */
    CheckGroup findById(Integer id);


    /**
     * 从中间表获取改检查组包含的检查项的id数组
     * @param id
     * @return
     */
    List<Integer> findCheckItemIdsByCheckGroupId(Integer id);

    /**
     * 应用检查组中编辑变动以及中间表的对应关系
     * @param checkGroup
     * @param checkItemIds
     */
    void edit(CheckGroup checkGroup, Integer[] checkItemIds);

    /**
     * 获取全部检查组
     * @return
     */
    List<CheckGroup> findAll();

}
